Contextual connection invitations

ABSTRACT

Systems and methods are provided for including information in an invitation from a first to connect with a second user that identifies a context regarding how the first user found the second user. A system can include a request component configured to receive, at a first network source, information identifying a second user that a first user has selected to send an invitation to connect with at the first network source, a context component configured to determine a context regarding selection of the second user by the first user, including where the first user found the information identifying the second user, and a generation component configured to generate an invitation that invites the second user to connect with the first user at the first network source. The invitation comprises first user identification information and context information identifying the context regarding the selection of the second user by the first user.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/948,635, filed Apr. 9, 2018, which is a continuation of U.S. patentapplication Ser. No. 14/599,172, filed Jan. 16, 2015, each of which ishereby incorporated by reference herein in its entirety.

TECHNICAL FIELD

This application generally relates to systems and methods for includingcontext information in an electronic message regarding how or where thesender selected the recipient.

BACKGROUND

Many websites and applications allow users to invite their friends oracquaintances to become new members/users of the website or application.By allowing users to promote a website or application externally, thewebsite or application can take advantage of the viral effect and becomepopular very quickly. In addition, many social websites and applicationsare designed to facilitate connecting members with other members viauser initiated conversation invitations. However, one problem with userinitiated invitations is that a user receiving the invitation may notrecognize the person who is inviting them, or may not know how thisperson got their contact information, thus they may not trust andrespond to the invitation.

BRIEF DESCRIPTION OF THE DRAWINGS

Numerous aspects, embodiments, objects and advantages of the presentinvention will be apparent upon consideration of the following detaileddescription, taken in conjunction with the accompanying drawings, inwhich like reference characters refer to like parts throughout, and inwhich:

FIG. 1 illustrates an example system for including information in aninvitation from a first user to connect with a second user thatidentifies a context regarding how or where the first user found thesecond user., in accordance with various aspects and embodimentsdescribed herein;

FIG. 2 presents example user interfaces displaying a contextualconversation invitation in accordance with various aspects andembodiments described herein;

FIG. 3 presents an example user interface of a navigation page thatincludes a connection link to facilitate generating a contextualinvitation with context information based on the navigation page inaccordance with various aspects and embodiments described herein;

FIG. 4 presents an example content/service provider that facilitatesgenerating and providing an invitation from a first user to connect witha second user that identifies a context regarding how or where the firstuser found the second user, in accordance with various aspects andembodiments described herein;

FIG. 5 presents another example content/service provider thatfacilitates generating and providing an invitation from a first user toconnect with a second user that identifies a context regarding how orwhere the first user found the second user, in accordance with variousaspects and embodiments described herein;

FIG. 6 presents an example content/service provider that facilitatesgenerating and providing an invitation from a first user to connect witha second user that identifies a context regarding how or where the firstuser found the second user, in accordance with various aspects andembodiments described herein;

FIG. 7 presents an example client device that facilitates receiving andresponding to an invitation from a first user to connect with a seconduser that identifies a context regarding how or where the first userfound the second user, in accordance with various aspects andembodiments described herein;

FIG. 8 presents an example method for generating and providing aninvitation from a first user to connect with a second user thatidentifies a context regarding how or where the first user found thesecond user, in accordance with various aspects and embodimentsdescribed herein;

FIG. 9 presents another example method for generating and providing aninvitation from a first user to connect with a second user thatidentifies a context regarding how or where the first user found thesecond user, in accordance with various aspects and embodimentsdescribed herein;

FIG. 10 is a schematic block diagram illustrating a suitable operatingenvironment in accordance with various aspects and embodiments.

FIG. 11 is a schematic block diagram of a sample-computing environmentin accordance with various aspects and embodiments.

DETAILED DESCRIPTION

The innovation is described with reference to the drawings, wherein likereference numerals are used to refer to like elements throughout. In thefollowing description, for purposes of explanation, numerous specificdetails are set forth in order to provide a thorough understanding ofthis innovation. It may be evident, however, that the innovation can bepracticed without these specific details. In other instances, well-knownstructures and components are shown in block diagram form in order tofacilitate describing the innovation.

Given the expansion of the Internet, most people have some form ofvirtual presence, whether it be a profile on a social networkingwebsite, a channel on a video sharing website, a personal website orwebpage (e.g., a user's blog), a name or picture recognition on a publicwebsite (e.g., on an employer's website), a name or picture recognitionin a public article or record, etc. These forms of virtual presence areoften associated with contact information for the individual and/or amechanism via which to contact the individual (e.g., email, instantmessage, text message, cellular voice connection, etc.). In actuality,many people have multiple online presences. Accordingly, there are oftenmany ways for one person to find and contact another person via one ormore of their virtual presences. When a user gets a message from asender who they may not recognize well or at all based on informationidentifying the sender in the message (e.g., the sender's name, profilename, messaging number or address, picture, etc.), the user will mostlikely not trust the message and thus not respond to or even read themessage.

By way of introduction, the subject matter described in this disclosurerelates to a mechanism for adding trust to an electronic message byincluding context information in the message regarding at least how thesender selected the recipient of the message. The subject mechanism aimsto give a message recipient more context around where the message camefrom, who is sending it, and how they are connected to the sender, thusmaking the recipient user more likely to accept the invitation. In anaspect, information is gathered/determined regarding how the senderfound information identifying the recipient and/or contact informationfor the recipient. This information is then included in the message.When the recipient user receives the message, the recipient will beprovided with the information describing a context of how the senderknows and/or found the recipient, thus adding an element of trust to themessage.

For example, the sender of a message may have selected the recipientfrom a list of personal contacts (e.g., phone contact, social networkcontact) including information identifying other people and theirrespective phone numbers and/or email addresses. This message mightread: “the sender got your profile because he has your phone number,” or“the sender found your profile from his phone contacts.” In anotherexample, the sender may have come across the recipient's channel pagewhile navigating about a video sharing website and choose to send therecipient an invitation to chat about his channel page. According tothis example, the message could state: “the sender found your profile onyour channel page.” In another example, a first user may select a seconduser to send a message to in association with a comment provided by thesecond user in a messaging forum. According to this example, the messagecould state: “the sender found your profile from your comment [insertcomment here] you made in discussion forum [insert name of discussionforum] on Dec. 5th 2014.”

In one or more aspects, a system is disclosed that includes a memorythat stores computer executable components and a processor that executesat least the computer executable components stored in the memory. Thesecomponents include an invitation request component configured toreceive, at a first network source, information identifying a seconduser that a first user has selected to send an invitation to connectwith at the first network source, and a context component configured todetermine a context regarding selection of the second user by the firstuser, including where the first user found the information identifyingthe second user. These components further include an invitationgeneration component configured to generate an invitation that invitesthe second user to connect with the first user at the first networksource, the invitation comprising first user identification informationand context information identifying the context regarding the selectionof the second user by the first user, and a delivery componentconfigured to determine second user contact information for the seconduser based on the information identifying the second user, and send theinvitation from the first network source to the second user using thesecond user contact information.

In another aspect, a device is disclosed that includes a memory thatstores computer executable components and a processor that executes atleast the computer executable components stored in the memory. Thesecomponents include an invitation component configured to receive, from aserver employed by a service provider, an invitation that invites asecond user to connect with a first user via an application of theservice provider. The invitation includes first user identificationinformation and context information identifying a context regarding theselection of the second user by the first user, including where thefirst user found information identifying the second user. Thesecomponents further include a presentation component configured togenerate a graphical user interface comprising the invitation fordisplay to the second user.

Still in yet another aspect, a tangible computer-readable storage mediumis disclosed that includes computer-readable instructions that, inresponse to execution, cause a computing system to perform variousoperations. These operations include, receiving, at a first networksource, information identifying a second user that a first user hasselected to send an invitation to connect with at the first networksource, and determining a context regarding selection of the second userby the first user, including where the first user found the informationidentifying the second user. These operations further include generatingan invitation that invites the second user to connect with the firstuser at the first network source, the invitation comprising first useridentification information and context information identifying thecontext regarding the selection of the second user by the first user,determining second user contact information for the second user based onthe information identifying the second user, and sending the invitationfrom the first network source to the second user using the second usercontact information.

Referring now to the drawings, with reference initially to FIG. 1,presented is a diagram of an example system 100 for including contextinformation in an electronic message regarding how or where the senderselected the recipient in accordance with aspects and embodimentsdescribed herein. Aspects of systems, apparatuses or processes explainedin this disclosure can constitute machine-executable components embodiedwithin machine(s), e.g., embodied in one or more computer readablemediums (or media) associated with one or more machines. Suchcomponents, when executed by the one or more machines, e.g.,computer(s), computing device(s), virtual machine(s), etc. can cause themachine(s) to perform the operations described.

System 100 includes content/service provider 102, a plurality of clientdevices 110 ₁-110 _(N) (where N is a number), and one or more othersystem and sources 118. Content/service provider 102 can include memory106 for storing computer executable components and instructions andprocessor 108 to facilitate operation of the instructions (e.g.,computer executable components and instructions). Similarly, clientdevices 110 ₁-110 _(N) can include memory 114 for storing computerexecutable components and instructions and processor 116 to facilitateoperation of the instructions (e.g., computer executable components andinstructions).

The various components of system 100 can be connected either directly orvia one or more networks 120. Such network(s) can include wired andwireless networks, including but not limited to, a cellular network, awide area network (WAD, e.g., the Internet), a local area network (LAN),or a personal area network (PAN). For example, client device 110 ₁ cancommunicate with content server 102 (and vice versa) using virtually anydesired wired or wireless technology, including, for example, cellular,WAN, wireless fidelity (Wi-Fi), Wi-Max, WLAN, and etc. In an aspect, oneor more components of system 100 are configured to interact viadisparate networks.

Content/service provider 102 can include an entity configured to providevarious content and/or services to users via their respective clientdevices110 ₁-110 _(N) over a network (e.g., the Internet), including atleast a messaging service that facilitates electronic messaging betweenusers (e.g., emailing, instant messaging, short messaging service (SMS)texting, calling, video calling, etc). For example, content/serviceprovider 102 can include a social networking website or applicationconfigured to provide various social networking services to users.Social networking websites/applications provide platforms for users tobuild social networks or social relations among people who shareinterests, activities, backgrounds or real-life connections. Socialnetwork websites/application provide web-based services that allowindividuals to create a profile, to create a list of users with whom toshare connections, and view and cross the connections within the system.Many social networking sites allow users to share ideas, pictures,posts, activities, events, interests with people in their network andprovide and provide means for users to interact over the Internet, suchas via e-mail and instant messaging.

In another aspect, content/service provider 102 can include aninformation store that provides access to data included in theinformation store via a network. In another aspect, content/serviceprovider can include an online merchant configured to connect users inassociation with facilitating purchases of goods or services. In anotherexample, content/service provider 102 can include can include a websiteor application configured to present pictures, articles, blogs, videos,or other types of content items to client devices 110 via a network 120.According to this example, the content provided by the website orapplication can be configured for downloading, streaming or merelyviewing at a client device 110 via the network.

In an exemplary embodiment, content/service provider 102 includes astreaming media provider configured to provide streamed media to clientdevices over a network. For example, content/service provider 102 caninclude a media provider that has access to a voluminous quantity (andpotentially an inexhaustible number) of shared media (e.g., video and/oraudio) files. The media provider can further stream these media files toone or more users at respective client devices 110 ₁-110 _(N)). Themedia can be stored in memory associated with the media provider (e.g.,memory 106) and/or at various servers employed by the media provider andaccessed by client devices using a networked platform (e.g., a websiteplatform, a cellular application) employed by the media provider. Forexample, the media provider can provide and present media content to auser via a website that can be accessed by a client device using abrowser. In another example, the media provider can provide and presentmedia to a user via a mobile/cellular application provided on a clientdevice (e.g., where the client device is a smartphone or the like).

In an aspect, the media provider can facilitate video sharing betweenusers in a social networking environment. For example, respective userscan establish profiles with the media provider and connect with otherusers sharing similar media interests. In addition, users can establishtheir own channels which serve as avenues via which they share their ownmedia (e.g., media created, collected or otherwise associated withownership by the user). As used herein, the term channel refers to datacontent available from a common source or data content having a commontopic or theme. A channel can be associated with a curator who canperform management actions on the channel. Management actions mayinclude, for example, adding media items to the channel, removing mediaitems from the channel, defining subscription requirements for thechannel, defining presentation attributes for channel content, definingaccess attributes for channel content, etc. The channel content can bedigital content uploaded to the internet-based content platform by achannel curator and/or digital content selected by a channel curatorfrom the content available on the Internet-based content platform. Achannel curator can be a professional content provider (e.g., aprofessional content creator, a professional content distributor, acontent rental service, a television (TV) service, etc.) or an amateurindividual. Channel content can include professional content (e.g.,movie clips, TV clips, music videos, educational videos) and/or amateurcontent (e.g., video blogging, short original videos, etc.). Users,other than the curator of the channel, can subscribe to one or morechannels in which they are interested.

The term media content or media item can include but is not limited tostreamable media (e.g., video, live video, video advertisements,animations, music, music videos, sound files and etc.) and static media(e.g., pictures, thumbnails). The term media content or media item alsoincludes a collection of media items such as a playlist includingseveral videos or songs, or a channel including several videos or songsassociated with a single media creator or curator.

Client devices 110 ₁-110 _(N) can include any suitable computing deviceassociated with a user and configured to interact with content/serviceprovider 102 via a network. For example, a client device 110 can includea desktop computer, a laptop computer, a television, an Internet enabledtelevision, a mobile phone, a smartphone, a tablet personal computer(PC), or a personal digital assistant PDA. As used in this disclosure,the terms “content consumer” or “user” refer to a person, entity,system, or combination thereof that employs system 100 (or additionalsystems described in this disclosure) using a client device 110.

Content/service provider 102 can include server messaging platform 104to facilitate electronic communication between users via theirrespective client devices110 ₁-110 _(N) in association with provision ofother content and/or services to users. For example, server messagingplatform 104 can facilitate sending messages, invitations and/ornotifications related between users in association with providing socialnetworking services, media sharing services, etc. In another aspect,server messaging platform 104 can provide instant messaging, shortmessaging service (SMS) texting, calling, video calling, multimediamessaging, etc. between users using various communication protocol(e.g., internet protocol (IP)) in association with provision of socialnetworking services, media sharing services, etc. However in someaspects, content/service provider 102 can include a system solelydedicated to facilitating communication (e.g., text and/or multimediacommunications) between users via a network using various communicationprotocol and a network based platform (e.g., a website or anapplication).

In an aspect, client devices 110 ₁-110 _(N) can respectively include aclient messaging platform 112 (e.g., a messaging client), to facilitateemploying the messaging services afforded by server messaging platform104. According to this aspect, server messaging platform 104 canfunction as a messaging application server configured to providemessaging services to users via their respective client messagingplatforms 112 (e.g., which are configured to operate as thin clientmessaging applications). Client messaging platform 112 and servermessaging platform 104 can include complimentary and/or same or similarfunctionality depending on the implementation of system 100.

In accordance with an embodiment, a user of content/service provider 102can employ server messaging platform 104 to send an electronic messageto another user. (In some aspects, in order to user the messagingservice afforded by server messaging platform 104, the user sending themessage can employ a corollary client messaging platform 112 configuredto interact with server messaging platform 104). The type and nature ofthe message can vary depending on the purpose and offerings ofcontent/service provider 102. For example, the message can include aninvitation from a first user of content/service provider 102 thatinvites a second user, who is not a member/user of the content/serviceprovider, to become a new member/user. For instance, many websites andapplications allow users to invite their friends or acquaintances tobecome new members/users of the website or application (e.g., bydownloading the application, registering with the website orapplication, setting up an account, setting up a profile, etc.). Byallowing existing users to promote a website or application externally,the website or application can take advantage of the viral effect andbecome popular very quickly. However one problem with invitations isthat a user receiving the invitation may not recognize the person who isinviting them, or may not know how this person got their contactinformation, thus they may not trust the invitation.

In another example, the message can include a request from a first userof content/service provider 102 to connect (e.g., exchange text and/ormultimedia messages, such as voice and video, in a real-time or non-realtime format) with a second user of the content/service provider 102,wherein both users can have established accounts or profiles with thecontent/service provider 102. According to this example, content/serviceprovider 102 can provide services that are designed to connect memberswith other members via user initiated conversation invitations. Forinstance, a first user of a social networking service, online datingservice or video streaming content provider may select a profile ofsecond user and send the second user a request to begin a chat sessionor to join a messaging group. In another example, the message caninclude a request from a first user of content/service provider 102 toconnect with a second user via the messaging service provided bycontent/service provider 102, wherein the second user is not a member ofthe content/service provider 102 and/or has not registered for themessaging service provided by content/service provider 102.

Server messaging platform 104 can include context component 122 todetermine or infer a context regarding selection of the second user (themessage recipient) by the first user (the message sender) in associationwith a request to send a message from the first user to the second user.Given the various avenues via which people can establish an onlinepresence/identity to facilitate contact between one another, a user canreceive a message over various messaging mediums (e.g., email, phonenumber, etc.), from various messaging sources (e.g., network sourcessuch as devices web sites, webpages, and/or applications the user isaffiliated with) and from various entities (other users known andunknown). Due to the various mechanisms via which a user may openthemselves up for receiving messages from others, the user may notrecognize the person who is messaging them, or may not know how thisperson got their contact information, thus they may not trust themessage. Context component 122 is configured to determine or infercontextual factors regarding how, when, where and/or why the first usercame to contact the second user.

For example, context component 122 can determine whether the first userhad and/or provided contact information (e.g., phone number or emailaddress) for the second user in association with requesting a message tobe sent to the second user. Context component 122 can also determine orinfer when, where (e.g., actual physical location) and other contextualfactors regarding how the first user received the second user's contactinformation (e.g., from the second user directly, from a third user,from another network source, etc.). In another example, contextcomponent 122 can determine or infer whether, where and/or how the firstuser found a profile/online identity of the second user and at whatnetwork source. According to this example, context component 122 candetermine a particular web site or webpage where the first user foundthe second user's profile. This website or webpage can be provided bycontent/service provider 102 or another source or system (e.g., anexternal social networking system).

Context component 122 can also determine other contextual factorsregarding selection of the second user's profile by the first user, suchas whether an instance of the second user's profile or online identity(e.g., a name, a screen name, a thumbnail image representing the seconduser, an icon representing the second user, etc.), was selected by thefirst user in association with a content item. For example, the contentitem could include a comment provided by the second user, a channel ofthe second user, an article posted by the second user, a pictureincluding the second user, a video or song associated with the seconduser, etc.). Other contextual factors regarding selection of the seconduser's profile by the first user can relate to why the first userselected the second user out of a pool of users, such as whether thesecond user belongs to a group that the first user belongs to, whetherthe second user and the first user are friends or follow one another ona particular social network, whether the second user was suggested tothe first user in a recommendation list, whether the second user wasrecommended to the first user by a third user, etc.

In an aspect, context component 122 can determine or infer how, where,and/or why the first user found/provided contact information for thesecond user (such as a phone number or email address of the second user)in association with selection of the second user for sending a message.For example, the first user may have contact information for the seconduser in an existing personal contacts file/list. The contacts file/listcan be stored in memory at the first user's client device 1101 employedby the first user to access server messaging platform 104 in associationwith sending the message. (e.g., the first user's phone contacts whereclient device 1101 is a phone). The contacts file/list can also bestored by content/service provider 102 in association with a useraccount the first user has with the content/service provider 102 (e.g.the first user's friends/acquaintances at the content/service provider102), and/or another source or system 118 accessible to client device1101, (e.g. the first user's friends on an external social networkingwebsite or application). When requesting to send the message to thesecond user, the first user can select the recipient second user fromthe contacts file/list. Context component 122 can determine based on theinput of contact information (e.g., phone number or email address) forthe second user by the first user in the to: field of the message andthe source from which the contact information was received (e.g., thefirst user's contacts list/file) that the first user already has thesecond user's contact information. The message sent to the second userwould then include information indicating that the first user selectedthe second user from his contacts file/list. For example, the messagecould say “Adam (first user) found you (second user, Beth) because hehad your phone number in his phone contacts,” or “Adam found yourprofile because you are and Adam are friends at social networking sourceABC.”

For example, content/service provider 102 can include a new ridesharingservice that uses a smartphone application to arrange rides betweenriders and drivers. A first user Adam may have downloaded theapplication and used the service and decided that his friend Beth shouldsign up too. Using the server messaging platform 104, Adam can send aninvitation to his friend Beth from the ridesharing service that invitesBeth to sign up for the service and download the application. Whensetting up the invitation, Adam can provide Beth's contact information(e.g., phone number or email) by selecting it from his contactslist/file (and/or typing it in from memory). When Beth receives theinvitation in her email (or as a phone notification or text messagedepending on the contact information provided by Adam), the invitationwill be from the ridesharing service but state that Adam suggested Bethsign up. In addition, the invitation can say that Adam found Bethbecause he had her contact information (e.g., phone number or email).

In another example, content/service provider 102 can include a videosharing service that provides streaming video to users and varioussocial networking capabilities in association with video sharing. Forinstance, content/service provider 102 can allow users to send links tovideos or other media items to one another and conduct chat (e.g., realtime) or messaging (non-real time) session within one another via amessaging application enabled by server messaging platform 104. Inaccordance with this example, a first user of the content/serviceprovider 102 can decide to chat with or otherwise message a second userusing the messaging service afforded by messaging server platform 104because it offers superior capabilities over other messaging mediums.For exemplary purposes, this messaging service is referred to as MediaMessenger. For example, the first user (Adam) may want to discuss aparty he is planning with the second user (Beth) using Media Messenger(over other messaging applications or mediums) because Media Messengeroffers unique capabilities to include videos and/or media items withinthe chat messages in real-time. This messaging platform is ideal forAdam because he is interested in building a video playlist for the partyand would like to share videos with Beth during the chat session.

Using Media Messenger, Adam can choose to invite Beth to chat via MediaMessenger (e.g., at and/or using a messaging service provided bycontent/service provider 102) and provide contact information (e.g.,phone number or email address) for Beth by selecting the contactinformation from his contacts file/list. Media Messenger (e.g., servermessaging platform 104) is configured to send the invitation to the Bethusing the contact information provided by Adam (e.g., as an SMS textmessage, a notification, an email, or a Media Messenger message whereBeth is registered for and or logged on to Media Messenger). The messagecan include information identifying Adam (e.g., Adam's name or screenname, a picture or icon, etc.) and indicate that he would like to inviteBeth to chat using Media Messenger. The message can also include contextinformation indicating that Adam was able to message Beth because healready had her contact information (e.g., her phone number or emailaddress). In an aspect, Beth may have never used Media Messenger beforeand thus receiving a message from Adam to join/employ a new messagingservice may catch her off guard. By including context information in themessage indicating that Adam was able to message her using and/orregarding using Media Messenger because he already had her phone number,Beth will be more inclined to trust the invitation and use MediaMessenger to conduct the chat session. In an aspect, this would involveBeth registering for Media Messenger, such as setting up an accountand/or downloading the Media Messenger client application (e.g., clientmessaging platform 112).

In another aspect, context component 122 can determine or infer how,where, and/or why the first user found/provided information identifyingthe second user in association with selection of the second user forsending a message. For example, the information identifying the seconduser can include but not limited to, the second user's name, screen/username, profile, channel page, picture or icon. According to this aspect,the information identifying the second user can be tied to contactinformation for the second user (e.g., phone number, email address,etc.). This contact information can be visible or hidden from the firstuser depending on the source at which the second user identificationinformation was provided.

According to this aspect, a first user (Adam) may find a profile and/orcontact information for a second user (Beth) at a particular networksource, such as a website or a webpage. The network source can includeor be associated with content/service provider 102 (e.g., the website orapplication employed by the Adam to format and send the message). Forexample, the website or application could include a social networkingwebsite, a dating website, or a video sharing website wherein both thefirst and second user have existing profiles. In order to message thesecond user, the first user can select the second user's profile inassociation with initiating a messaging or connection request. Contextcomponent 122 is configured to determine the network source where thefirst user found the second user's profile/contact information andinclude this context information in the message that is sent to thesecond user.

For example, where content/service provider 102 is a media sharingservice as described herein, a first user Adam may find a profile of asecond user Beth while using the media sharing service. In an aspect,Adam may or may not also have a profile/account with the media sharingservice. For example, Beth may have a channel established with the mediasharing service via which she shares her personal videos. Adam can havesomehow navigated to Beth's channel, whether it be in response toappearing in a search query initiated by Adam, watching a recommendedvideo that was provided by Beth's channel, selecting a link to Beth'schannel at another source 118 (e.g., a social network or a message fromanother user), selecting a link to Beth's channel within anadvertisement, etc. According to this example, the media sharing servicefacilitates messaging other users by selecting a messaging linkassociated with the user's profile or information identifying the user.For example, Beth's channel page or profile page can include‘Connection’ icon which upon selection, redirects the user to amessaging application via which the user can provide a message and senda message to Beth. In furtherance to the subject, example, Adam decideshe would like to message Beth to talk about her channel and thus selectsthe ‘Connection’ icon on her channel page. Context component 122 candetermine the specific network source/location (e.g., Beth's channelpage) at which the request to send her the message was initiated andinclude this information in the message. For example, the messagereceived by Beth can include information identifying Adam and indicatethat Adam found Beth's profile on her channel page of the media sharingservice.

In another aspect, a message including information regarding where(e.g., the network source) a first user found information identifyingthe second user can include additional information regarding how thefirst user found the second user's profile/contact information at thenetwork source. For example, the first user may have found the seconduser's profile/contact information in association with a messageresponse provided by the second user in a discussion forum at thenetwork source. The message could thus indicate the first user found thesecond user's profile/contact information in association with themessage response provided by the second user in the discussion forum atthe network source. In another example, the first user may have foundthe second user's profile/contact information in response to watching avideo provided by the second user and being directed to the seconduser's video channel at the network source. The message can furtherinclude this context information. In another example, a message canindicate the first user found the second user's profile/contactinformation in response to selection of a link to the second user'sprofile from a picture that included an image of the second userprovided on another user's profile page. Still in yet another example,the first user may have been given the second user's profile/contactinformation from a third user, wherein the third user recommended thefirst user message the second user. The message can include informationindicating this context.

In furtherance to the above example, context component 122 can determinea navigation path employed by Adam leading up to his request to connectwith Beth via her channel page. For example, context component 122 candetermine how Adam arrived at her channel page, other videos he may havewatch on her channel page before messaging her, other channels and/ormedia items he accessed before coming to her channel page, etc. andinclude this context information in the message.

In another aspect, a user can find an instance of a user's profile oridentity in association with their activity at the content/serviceprovider 102. For example, depending on the nature of thecontent/service provider, a user's name/screen name, thumbnail image,icon, etc. can represent a user to denote their association with certainactions and affiliations at the content/service provider. According tothis aspect, server messaging platform 104 can facilitate messaging theuser in response to selection of the information identifying the user inassociation with a request to message the user. For example, Adam couldfind Beth's name and/or profile icon in association with a messageprovided by Beth in a messaging forum provided by the content/serviceprovider 102. In another example, Adam could find Beth's name and/orprofile icon in association with a picture, song, video, article, etc.,she is tagged in. In another example, Adam could find Beth's name and/orprofile icon in association with an award or recognition she received atthe content/service provider or a review of her services (e.g., say sheis a taxi driver for the car sharing services).

Context component 122 can also identify an association of a user profilewith a group, category or even associated with content/service provider102. For example, context component 122 can determine that Adam and Bethare united as ‘friends’ at the content/service provider 102 and/or thatAdam selected Beth's profile from his list of friends at thecontent/service provider 102. This information can also be included inthe message Beth receives from Adam. In another example, contextcomponent 122 can determine that Adam selected Beth's identificationinformation in connection with inclusion of Beth's identificationinformation in ‘recommended users to get in touch with’ section, in a‘top performers section,’ in a ‘new users section,’ etc. Thisinformation can also be included in the message Beth receives from Adam.

In another aspect, first user Adam might find a person's profile, Bethor other identifying information for Beth, at a source remote 118 fromcontent/service provider 102 and decide to message them using the servermessaging platform 104 provided by content provider 102. For example,Beth's identification information at another application or websitecould include a link that provides various mechanism via which tomessage her such as via email, via text, via sending her a message at afirst social networking account to which she belongs, a second socialnetworking account to which she belongs, a first messaging service towhich she belongs, a second messaging service to which she belongs, etc.In accordance with this aspect, one option could include a request tosend her a message via the server messaging service provided by contentprovider. In response to selection of this option, the other source 118at which the option was selected can provide server messaging platform104 with information identifying the source and/or network address atwhich the Beth's profile was selected. According to this aspect, servermessaging platform 104 is configured to send the message to Beth withinformation identify the source/network location, remote fromcontent/service provider 102, where Adam came across her profile andinitiated the message request. In some aspects, additional informationabout the page at which Beth's profile was selected, such as contentincluded on the page, comments provided by Beth, etc., can be includedas context information in the message generated and sent by servermessaging platform 104. This additional information can be provided bythe referring page to server messaging platform 104 and/or extracted bysever messaging platform 104 from the referring page's metadata.

In yet another aspect, a first user may receive information identifyinga second user and/or contact information for the second user from athird user, a ‘referring user.’ For example, Adam's friend oracquaintance at content/server provider 102 may suggest he connect withBeth (whom Adam does not know), and provide Adam with a link to Beth'sprofile and/or contact information (e.g., via an email, text message,etc.). In another example, Beth's friend or acquaintance atcontent/server provider 102 may suggest Adam connect with Beth andprovide Adam with a link to Beth's profile and/or contact information(e.g., via an email, text message, etc.). Still in yet another example,a person affiliated or not affiliated with Adam or Beth and/oraffiliated or not affiliated with content/server provider 102 can sendAdam a message/prompt with information identifying Beth and/or hercontact information and suggest Adam connect with Beth. Contextcomponent 122 can determine whether a first user received informationidentifying the second user and/or contact user from a referring userand include this information in the message sent from the first user tothe second user. For example, a message received by Beth could state:“Your friend Carly knows Adam and though the two of you should connect.Carly gave Adam your phone number.”

Regardless of the context via which a first user (Adam) comes to find asecond user's (Beth's) identification information, this context can bedetermined by context component 122 and included in the message that issent to Beth. For example, context component 122 can extract and analyzeAdam's navigation history with content/service provider 102 to determinethe context via which he was prompted to send her a message. In anotherexample, context component 122 can analyze metadata included in thereferring page from which the messaging interface (e.g., that providesfor messaging Beth) was launched in respond to a request, initiated byAdam, to message Beth. The metadata can be included in the referringpage. This context information can be included in the message that Bethreceives. For example, the message can indicate Adam found her profilein connection with her comment [insert comment] provided in messagingforum [insert messaging forum]. In another example, the message canindicate Adam found her profile in connection with a picture located atsource [insert source here] in which she was tagged. In another example,the message can indicate Adam found her profile after reading review inan employee review section of the server messaging platform.

FIG. 2 presents example contextual conversation invitations for displayat a client device (e.g., a smartphone) of a recipient user inaccordance with various aspects and embodiments described herein. In anaspect, the contextual conversation invitations were generated and sentvia system 100, wherein the content/server provider 102 is a streamingmedia provider that provides the media messaging service ‘MediaMessenger’ in accordance with the examples described herein. The mobilephone device depicted in FIG. 2 is the client device (e.g., clientdevice 1102), of the contextual conversation invitation recipient usernamed Donna. The message sender, Mike, accessed and/or employedcontent/server provider's messaging platform 104 Media Messenger via hisclient device (e.g., client device 1101) to send Donna one of thecontextual conversation invitations 201, 202 or 203 depicted in FIG. 2.In an aspect, Mike employed a client application for Media Messenger(e.g., client messaging platform 112) on his client device to facilitategenerating and sending the contextual conversation invitation.

Each of the contextual conversation invitations 201, 202 and 203 inviteDonna to chat with Mike (e.g., using Media Messenger) and includecontext information, determined by context component 122, regarding howMike was able to contact Donna to send her the invitation. For example,contextual conversation invitation 201 to Donna states that “Mike isalready in another conversation with you: MW-L19Z.” In accordance withthis example, Mike is and/or was conducting another conversation and/ormessaging session with Donna. This other conversation could includeanother chat session or messaging session, such as a group chat sessionor message forum, between Mike, Donna, and other users, via MediaMessenger, identified as conversation MW-L19Z. This conversation couldalso include another message session between Mike, Donna and/or one ormore other users using a different messaging application. According tothis example, Mike can have selected Donna based on her identificationinformation (e.g., user name) and/or contact information rendered toMike in association with the other conversation identified asconversation MW-L19Z.

Contextual conversation invitation 202 to Donna states that “Mikemessaged you via your phone number.” In accordance with this example,Mike can have selected Donna by importing her phone number into themessage request from his personal contacts provided on his client deviceor at another accessible source. In another aspect, Mike may have knownDonna's phone number from memory and typed in her phone number inassociation with the message request. Contextual conversation 203 toDonna states that “Mike Rowland is in your phone contacts.” Inaccordance with this example, similar to invitation 202, Mike can haveselected Donna by importing her phone number into the message requestfrom his personal contacts file or by typing it into the message requestfrom memory. However, rather than displaying message 202, contextcomponent 122 (and/or another component of system 100 provided at servermessaging platform 104 and/or a client messaging platform 112 of Donna'sclient device) is able to determine that Mike is also in Donna'scontacts. Based on a determination that Donna already has Mike in hercontacts, context component 122 can include this context information inthe contextual conversation.

In addition, as discussed infra, invitations in some cases add an extraidentity for the sender. For example, if the sender appears in therecipient's phone contacts then the sender can be identified by the namethat appears in the recipient's phone contacts. This feature isexemplified in contextual conversation invitation 203 wherein Mike isidentified as Mike Rowland. In particular, based on informationidentifying Mike and/or Mike's contact information used to send theinvitation and Donna's personal contacts file (e.g., provided at herclient device or another source accessible to context component 122),context component 122 can find other information identifying Mike toDonna. For example, Donna can have Mike listed in her contacts inassociation with his phone number (which was used to send theinvitation) as Mike Rowland. Thus, rather than displaying the invitationto Donna as being from Mike, the invitation can be displayed to Donnafrom a name she uses to refer to Mike, Mike Rowland.

FIG. 3 presents an example user interface 300 that includes a connectionlink to facilitate generating a contextual invitation based on selectionof information identifying a recipient user from a network locationcorresponding to the interface, in accordance with various aspects andembodiments described herein. The interface depicted in FIG. 300includes a channel webpage for a user Beth Andrews. In an aspect, BethAndrews' channel page is established and hosted by content/serviceprovider 102, wherein content/service provider 102 is a streaming mediaprovider. Other users can visit her channel page when accessing thestreaming media provider to view Beth's videos, provide comments abouther channel/videos, subscribe to her channel, review her channel, etc.

In an aspect, other users can choose to connect with Beth Andrews usingconnection link 302. For example, in response to selection of theconnection link, a messaging application employed by the streaming mediaprovider (e.g., server messaging platform 104) is launched and displayedto the user that selected the link. The messaging application allows theuser to send Beth a message. For instance the message could include anemail, a text message, a request to chat via a chatting service (e.g.,Media Messenger) provided by the streaming media provider, etc. Thefrom: field of the message is populated with information identifying thesender and the to: field is automatically populated to be sent to BethAndrews. Contact information for Beth can remain hidden to the sender.The manner via which the message is sent to Beth (e.g., as a textmessage, as an email, as a Media Messenger chat invite), can bedetermined in part by the sender, restrictions/requirements defined byBeth, and/or the streaming media provider. However, the contextcomponent 122 associated with the messaging application can determinethat the message to be sent to Beth was initiated in response toselection of the connection link 302 directly from Beth's channel page.Accordingly, context component 122 can include context information inthe message informing Beth that the sender found Beth from her contactpage.

Beth's channel page also includes a comment section 304 at which otherusers can post and comments. For example, a user Colleen Demingo hasposted a comment 306 in the comment section. Colleen Demingo isidentified in association with her comment via a thumbnail icon 308chosen to represent Colleen. In an aspect, another user can selectColleen's comment, thumbnail icon 308 and/or name directly from Beth'schannel page to launch a flow of events that leads to launching of themessaging application so to that the other user can send Colleen amessage. Similarly, the context component 122 associated with themessaging application can determine that the message to be sent toColleen was initiated in response to selection of her comment, thumbnailicon 308 and/or name directly from Beth's channel page. Accordingly,context component 122 can include context information in the messageinforming Colleen that the sender found her from her comment on BethAndrews channel page.

FIG. 4 presents another example server messaging platform 400 foremployment by content/service provider 102 to facilitate generating andsending contextual messages in accordance with various aspects andembodiments described herein. Server messaging platform 400 includessame or similar features as server messaging platform 104 with theaddition of invitation request component 402, invitation generationcomponent 404 and delivery component 406. Repetitive description of likeelements depicted in example systems and devices described herein isomitted for sake of brevity.

In accordance with an embodiment, server messaging platform 400 caninclude invitation request component 402, invitation generationcomponent 404 and deliver component 406 to facilitate generating andsending messages including context information regarding how and/orwhere the sender found information identifying the recipient and/orcontact information for the recipient. Invitation request component 402is configured to receive requests from users of content/service provider102 (and server messaging platform 400) to send a message to anotheruser. For example, the message can include an invitation sent to anotheruser inviting them to join (e.g., establish an account with, downloadthe client side application for, etc.) content/server provider 102. Inanother example, the message can include an invitation sent from a firstuser to a second user inviting the second user to connect with the firstuser at the content/service provider 102. For instance, the first usercould invite the second user chat a messaging service provided bycontent/service provider 102.

Requests received by invitation request component 402 will includeinformation identifying a second user (the recipient) that the firstuser (the sender) has selected to send the invitation to and/or contactinformation for the second user. In an aspect, the informationidentifying the second user is received by invitation request component402 in association with the request in response to selection of theinformation by the first user. For example, the first user could selecta profile for the second user, a name or username of the second user, animage representing the second user, an icon representing the seconduser, etc. This information identifying the second user can be linked tocontact information for the second user (e.g., a phone number or emailaddress) and accessed by or provided to server messaging platform inassociation with selection of the information identifying the seconduser. In another aspect, the information identifying the second user(e.g., name, user name, profile, image, etc.) is received by invitationrequest component 402 in association with the request in response toselection of a ‘connection’ or ‘messaging’ link associated with theinformation identifying the second user. For example, a connection ormessaging link provided on the second user's profile page, webpage, orother network source affiliated with the second user. Selection of thisconnection or messaging link can launch a messaging application providedby server messaging platform 400 wherein the to: field of a message tobe sent is automatically populated with information for the second user(e.g., the second user's name and/contact information). According tothis aspect, the second user's name and/or contact information can behidden from the first user yet accessible and determinable by servermessaging platform based on the network location where the connection ormessaging link was selected and/or the information identifying thesecond user that is associated with the selected connection/messaginglink.

In yet another aspect, contact information for the second user isprovided/received in association with the request from the first user.For example, in association with making the request, the first usercould enter the second user's contact information (e.g., from memory)and/or import the second user's contact information from a personalcontacts file/list (e.g., selected from the first user's contacts).

As described supra, context component 122 is configured to determine acontext regarding selection of the second user by the first user. Forexample, context component 122 can determine or infer where the firstuser found information identifying the second user, such as a particularnetwork source/location (e.g., the second user's channel at source A,the second user's profile at source B, etc. According to this example,the context regarding selection of the second user by the first user caninclude the network source/location where the first user found theinformation identifying the second user that led to initiation of therequest.

In another example, the invitation request component 402 can receiveinformation identifying the second user (e.g., the second user's name,profile name, profile, image, etc.) in response to selection of theinformation from social contacts information identifying users that aresocial contacts of the first user at content/service provider 102 oranother network source 118. According to this example, the context, asdetermined via context component 122, under which the first userselected the second user will indicate that the first user found thesecond user in the first user's social contacts information for thecontent/service provider 102 or another network source 118.

In another example, the invitation request component 402 can receiveinformation identifying the second user (e.g., the second user's name,profile name, profile, image, etc.) in response to selection of aninstance of a profile of the second user provided at the content/serviceprovider 102 (or another network source 118) in association with acontent item provided by the content/service provider 102 (or the othernetwork source 118) According to this example, the context, asdetermined via context component 122, under which the first userselected the second user will include where the first user found theinstance of the second user's profile and the content item.

In yet another example, the invitation request component 402 can receiveinformation identifying the second user (e.g., the second user's name,profile name, profile, image, etc.) in response to selection of aninstance of a profile of the second user provided at the content/serviceprovider 102 (or another network source 118) in association with acomment provided by the second user at the content/service provider 102(or the other network source 118) According to this example, thecontext, as determined via context component 122, under which the firstuser selected the second user will include where the first user foundthe comment and refer to the comment.

In yet another example, the invitation request component 402 can receiveinformation identifying the second user (e.g., the second user's name,profile name, profile, image, etc.) in response to selection ofconnection request link provided a network page (e.g., webpage, channelpage, profile page, etc.) associated with the second user at thecontent/service provider 102 (or the other network source 118) Accordingto this example, the context, as determined via context component 122,under which the first user selected the second user will includeindicates the first user found the second user via the second user'snetwork page (e.g., webpage, channel page, profile page, etc.).

Still in yet another example, context component 122 can determine orinfer that the first user had and/or provided the second user's contactinformation (e.g., based on importation or extraction from the firstuser's personal contacts file). According to this example, theinformation identifying the second user could include the second user'scontact information. For example, when the invitation request component402 receives information identifying the second user (e.g., name and/orcontact information) in response to selection of the information by thefirst user from contacts information stored in memory on a deviceemployed by the first user to access the content/service provider 102,the context regarding selection of the second user by the first user, asdetermined by context component 122, will indicate that the first userfound the second user in the first user's contacts information.

Invitation generation component 404 is configured to generate/configurethe actual message to be sent from the first user to the second user.The message will include first user identification information (e.g.,information identifying the first user, such as a name, username, phonenumber, image, icon, etc.) and context information identifying thecontext regarding the selection of the second user by the first user.For example, invitation generation component 404 can generate aninvitation that invites the second user to connect with the first userat the content/service provider (or via a messaging application providedby the content/service provider), with information indicating how thefirst user found the second user's contact information (e.g., eitherdirectly or indirectly via a profile of the second user).

Delivery component 406 is configured to send the message or invitationto the second user. In an aspect, when contact information for thesecond user is not directly provided by the first user, deliverycomponent 406 can determine contact information for the second userbased on information provided by the first user identifying the seconduser. For example, delivery component can identify an email address orphone number linked to the second user's name, username, profile, image,icon, etc. Delivery component 406 can then deliver the message to thesecond user using the identified contact information.

FIG. 5 presents another example server messaging platform 500 foremployment by content/service provider 102 to facilitate generating andsending contextual messages in accordance with various aspects andembodiments described herein. Server messaging platform 500 includessame or similar features as server messaging platform 400 with theaddition of affinity component 502 and inference component 504.Repetitive description of like elements depicted in example systems anddevices described herein is omitted for sake of brevity.

As previously discussed, context component 122 is configured todetermine how and/or where a first user (the sender, Adam) came toselect a second user (the recipient, Beth), for sending a message orinvitation. Affinity component 502 is configured to determine or inferadditional information relating sender and recipient of a contextualmessage, particularly how the recipient knows and/or is affiliated withthe sender or vice versa For example, in association with establishingvarious online identities/profiles, users can publicly associate avariety of traits and/or attributes about themselves with their profile,such as but not limited to, their demographic information, theirpreferences and opinions regarding various goods, services, and contentitems available at various network sources 118, their employmenthistory, their educational history, their relationship status, theirhobbies, their habits, their religious beliefs, their family, etc. Inanother example, users can publicize their social affiliations, such aswho they are friends/associated with on various social networks, who'slisted in their phone/email contacts, etc. Information regarding auser's relationship with certain users can also be publicized ordiscerned such as but not limited to, a type of their relationship(college friend, sister, cousin, wife, coworker, etc.), where the usersmet, how long they have known each other, how often they communicate,etc.

Further, users can link or authorize association of their virtual and/ortraceable real world activity to their profile's or online presences.For example, a user can link his or her online purchases, onlinebrowsing history, travel and event plans (e.g., based on bookingonline), videos watched via a video streaming service (e.g., based onvideo watch history), or content item (e.g., videos, channels, articles,user comments, etc.) endorsement history (e.g., via liking, favoriting,sharing commenting on, subscribing to, following, etc.). In anotherexample, users can publicize information regarding their currentreal-world location, who they are with and what they are doing.

In an aspect, affinity component 502 is configured to gather and/oraccess a variety of available information about both the sender and therecipient regarding their traits and/or attributes, their socialaffiliations/circles, and/or their virtual and real-world activity.Affinity component 502 further compares information gathered for boththe sender and the recipient to determine various commonalities betweenthem. For example, affinity component 502 can determine commontraits/attributes shared between the sender and the recipient, such asshared video preferences and opinions and shared channel subscriptions.Invitation generation component 404 can then include this information inthe message sent from the first user (Adam) to the second user (Beth).

In another example, affinity component 502 can compare social circles ofthe respective users to determine whether and how they overlap, such asfriends they have in common. According to this example, affinitycomponent 502 can analyze social graph information for both the senderand the recipient to determine a score regarding a degree to which theirsocial graphs overlap. Invitation generation component 404 can furtherinclude information in a message identifying one or moreacquaintances/friends the sender and recipient have in common and/or thescore reflecting the degree to which their respective social circlesoverlap. For example, affinity component 502 can determine that thesender and recipient's children attend the same school or are on thesame soccer team. In an aspect, affinity component 502 can place greaterweight on users included in their respective social graphs who areconsidered to have a closer/stronger relationship with the sender andrecipient, respectively (e.g., users that are family, users that havebeen friends for a long time, users that are frequently communicatedwith, frequently seen/spent time with in person, etc.).

In another example, affinity component 502 can compare virtual and/orreal world activity of the sender and the recipient to determine aspectsthey have in common. Information regarding aspects of their virtualand/or real world activity that the respective users have in common canfurther be included in the message. For example, affinity component 502can determine where the two users are located at the time the message issent and whether they are within proximity of one another. In anotherexample, affinity component 502 can determine that the two usersattended or are attending the same event or watched or are watching thesame video online. In another example, affinity component 502 candetermine that the two users schedules overlap and how. For instance,affinity component 502 can determine that the sender and the recipientoften go to the same gym or coffee shop around the same time on theweekends. In another example, affinity component 502 can determine thatthe two users have signed up for a same future event (e.g., a concert, aparty, a class) or that the two users will be traveling to the sameplace for vacation.

Affinity component 502 can also identify discrepancies betweenattributes, social circles, and/or virtual and real world activitybetween the sender and the recipient. For example, the respective usersmay few or no traits/characteristics in common or low or no social graphcorrespondence. In another example, the respective users may live indifferent parts of the world and/or share little or no virtual and/orreal word experiences. In this scenario, invitation generation component404 can also include information in the message indicating the two usershave little or nothing in common, thus forewarning the recipient thatthe sender may not be trustworthy. Invitation generation component 404can further highlight suspicious discrepancies, such as the users livingin different parts of the word and/or having no friends in common.

In another aspect, affinity component 502 can determine whether thesender and the recipient have met before (e.g., in person or in thevirtual world), where, and under what context. For example, based on theusers virtual and/or real world activity, affinity component 502 candetermine whether the two users attended the same event or chattedtogether in a same chat room. Affinity component 502 can also correlateoverlapping activity with a point in time when the two users becamefriends/acquaintances online and/or exchanged contact information withone another. For example, affinity component 502 can determine that thesender and the recipient became friends on a particular social networkafter chatting in the same chat room on Jan. 12, 2014 regarding theiropinions of a certain music video. In another example, affinitycomponent 502 can determine that the sender and the recipient exchangedcontact information while attending a cocktail party at a certain venueon a certain date. Invitation generation component 404 can furtherinclude context information in a message indicating whether the senderand the recipient have met before, where, and under what context.

For example, when a first user receives a second person's contactinformation, metadata can be associated with the contact informationand/or a profile for the first user regarding circumstances at the timeof reception. For example, the contact information can be time stampedand geotagged with a location of the first user or the second user atthe time of reception of the contact information by the first user.According to this example, when the second user receives a message fromthe first user, invitation generation 404 can include contextinformation in the message indicating that the first user had the seconduser's contact information and received the second user's contactinformation on a certain date while the first user and/or the seconduser were at a particular location.

In another aspect, affinity component 502 is configured to determinewhether the recipient of a message has contact information for thesender, whether it be included in a contacts file on the second user'sdevice or otherwise associated with a profile/online identify of theuser. Affinity component 502 can further determine other identificationinformation for sender based on his contact information (e.g., phonenumber or email address) as held by the recipient, such as another nameor title the second user associates with the sender or a picture/iconthe second user associates with the sender. For example, affinitycomponent 502 can discern that a phone number for a user with the username ‘Adamapplepicker15’ corresponds to Adam Slepecky as provided in thesecond user's contacts file. According to this example, affinitycomponent 502 can extract the other identification information for‘Adamapplepicker15’, the name Adam Slepecky and invitation generationcomponent 404 can include this other identification information for thesender in the message. For example, rather than the message indicating“Adamapplepicker15 want sot chat,” the message can state “Adam Slepeckywants to chat.”

Inference component 504 is configured to provide for or aid in variousinferences or determinations associated with aspects of server messagingplatform 500. For example, inference component 504 can facilitatecontext component 122 with inferring a context under which the messagesender came to select the message recipient. For instance, inferencecomponent 504 can infer where (e.g., network location) and how (e.g.,selection of a profile, input of contact information from file stored onfirst user's device, etc.) the first user provided contact informationand/or information identifying the recipient. In another example,affinity component 502 can employ inference component 504 to inferadditional information regarding how the sender is related to therecipient or vice versa. For example, inference component 504 can inferwhere the sender and the recipient met before, whether it me in thevirtual world (e.g., in a chat room, playing a video game, commenting onthe same channel, etc.) or the real world (e.g., at a cocktail party, ina coffee shop), and the circumstances regarding their meeting (e.g.,time, place, events associated therewith, other people associatedtherewith, etc.).

In order to provide for or aid in the numerous inferences describedherein, inference component 504 can examine the entirety or a subset ofthe data to which it is granted access and can provide for reasoningabout or infer states of the system, environment, etc. from a set ofobservations as captured via events and/or data. An inference can beemployed to identify a specific context or action, or can generate aprobability distribution over states, for example. The inference can beprobabilistic—that is, the computation of a probability distributionover states of interest based on a consideration of data and events. Aninference can also refer to techniques employed for composinghigher-level events from a set of events and/or data.

Such an inference can result in the construction of new events oractions from a set of observed events and/or stored event data, whetheror not the events are correlated in close temporal proximity, andwhether the events and data come from one or several event and datasources. Various classification (explicitly and/or implicitly trained)schemes and/or systems (e.g., support vector machines, neural networks,expert systems, Bayesian belief networks, fuzzy logic, data fusionengines, etc.) can be employed in connection with performing automaticand/or inferred action in connection with the claimed subject matter.

A classifier can map an input attribute vector, x=(x1, x2, x3, x4, xn),to a confidence that the input belongs to a class, such as byf(x)=confidence(class). Such classification can employ a probabilisticand/or statistical-based analysis (e.g., factoring into the analysisutilities and costs) to prognose or infer an action that a user desiresto be automatically performed. A support vector machine (SVM) is anexample of a classifier that can be employed. The SVM operates byfinding a hyper-surface in the space of possible inputs, where thehyper-surface attempts to split the triggering criteria from thenon-triggering events. Intuitively, this makes the classificationcorrect for testing data that is near, but not identical to trainingdata. Other directed and undirected model classification approachesinclude, e.g., naive Bayes, Bayesian networks, decision trees, neuralnetworks, fuzzy logic models, and probabilistic classification modelsproviding different patterns of independence can be employed.Classification as used herein also is inclusive of statisticalregression that is utilized to develop models of priority.

FIG. 6 presents another example server messaging platform 600 foremployment by content/service provider 102 to facilitate generating andsending contextual messages in accordance with various aspects andembodiments described herein. Server messaging platform 600 includessame or similar features as server messaging platform 500 with theaddition of privacy component 602 and blocking component 604. Repetitivedescription of like elements depicted in example systems and devicesdescribed herein is omitted for sake of brevity.

In an embodiment, server messaging platform 600 provides a messagingapplication for users of content/service provider 102 wherein registeredusers can communicate with one another (e.g., via emailing, instantmessaging, multimedia messaging, etc.). In accordance with thisembodiment, the registered users of content service/provider 102 and/orthe messaging application can set privacy settings (in association withtheir account or profile) restricting contexts via which other users canmessage them. Blocking component 604 is configured to determine whethera sender is authorized to send a message to a recipient based on therecipient's privacy settings and the context via which the sender cameto select the recipient (e.g., the context via which the sender providedinformation identifying the recipient and/or the recipients contactinformation). In response to a sender failing to meet a recipientsprivacy settings, blocking component 604 will prevent the sender frommessaging the recipient and/or prevent the message from being sent tothe recipient.

For example, a user can restrict reception of messages via servermessaging platform 600 to users that are friends of the user atcontent/service provider 102. In another example, a user can restrictreception of messages via server messaging platform 600 to users thatare associated with the user at content/service provider 102 and adefined set of other social networks. In another example, a user canrestrict reception of messages via server messaging platform 600 tousers that have the user's phone number or email address (e.g.,including a specific phone number and a specific email address). Inanother example, a user can restrict reception of messages via servermessaging platform 600 to users that select their profile from aspecific network location (e.g., their channel page, their blog, or inresponse to a comment the user has provided, etc.).

In other aspects, a user can restrict reception of messages via servermessaging platform based on other factors relating the user to thesender and vice versa. For example, a user can restrict reception ofmessages via server messaging platform 600 to users that have a degreeof social circle overlap above a threshold degree. In another example, auser can restrict reception of messages via server messaging platform600 to users that are share a common trait or attribute with the user,such as a common preference or subscription. In another example, a usercan restrict reception of messages via server messaging platform 600 tousers that are the user has met before online, met before in person, metwithin the past X timeframe, met at a certain location, etc.

In another example, content/service provider 102 can include a videosharing service that provides streaming video to users and varioussocial networking capabilities in association with video sharing. Forinstance, content/service provider 102 can allow users to send links tovideos or other media items to one another and conduct chat (e.g., realtime) or messaging (non-real time) session within one another via amessaging application enabled by server messaging platform 104. Inaccordance with this example, a first user of the content/serviceprovider 102 can decide to chat with or otherwise message a second userusing the messaging service afforded by messaging server platform 104because it offers superior capabilities over other messaging mediums.For exemplary purposes, this messaging service is referred to as MediaMessenger.

FIG. 7 presents an example client messaging platform 700 for employmentat a client device 110 to facilitate receiving, and potentiallygenerating and sending, contextual messages in accordance with variousaspects and embodiments described herein. Client messaging platform 700can include same or similar features and functionality as clientmessaging platform 112. Repetitive description of like elements depictedin example systems and devices described herein is omitted for sake ofbrevity.

Client messaging platform 700 facilitates receiving, responding to, andpotentially generating and sending contextual messages. In an aspect,invitation component 702 is configured to receive context messages fromcontent/service provided and/or server messaging platform 600 and thelike directed to a user of client device 110. For example, invitationcomponent 702 can receive an invitation that invites a user of clientdevice 110 to connect with another user first via a messagingapplication of the content/service provider 102. As discussed herein,the invitation will include first user identification information andcontext information identifying a context regarding the selection of theuser of client device 110 by the other user, including where the firstuser found information identifying the second user. Presentationcomponent 704 is configured generate a graphical user interfacecomprising the invitation for display to the user of client device 110.For example, presentation component 704 can generate and present thecontext messages 201, 202 and 203 depicted in FIG. 2.

Client messaging platform 700 can also include relationship component706. In an aspect, relationship component can identify, based oninformation identifying the sender in a received message and/or contactinformation for the sender, whether the user of client device 110 hasother identification information for the sender. For example,relationship component 706 can determine whether the user of clientdevice 110 has contact information for the sender (e.g., stored inmemory 114 at client device 110) and/or whether the user of clientdevice 114 associates other information identifying the first user withhis contact information, such as a different name, title, image/icon,etc. In response to identification of other identification informationassociated with the sender by the user of client device 110,relationship component 706 can update/change the message to reflect orinclude this other identification information for the sender.

In an aspect, client messaging platform 700 is a client messagingapplication configured to employ messaging services afforded by servermessaging platform 600 and the like. According to this aspect, clientmessaging platform 700 can include one or more components 708 of servermessaging platform 600 for deployment on the client end and servermessaging platform 600 can function as the application service provider.For example, client messaging platform 600 can include an invitationrequest component 402 via which users of the client application can makerequests to send messages to other users. Client messaging platform 600can also include a context component 122 that can determine a contextvia which the user selected a recipient via a context message, and aninvitation generation component 404 configured to generate the contextmessage. Client messaging platform 700 can employ server messagingplatform 600 to facilitate actual sending/delivery of the message to thereceiving user via a network.

In accordance with this aspect, in response to reception of a contextmessage be invitation component 702, the user of client device caneither accept or rejected the invitation. For example, the contextmessages 201, 202 and 203 respectively include an option to accept orreject the invitation to chat with Mike. In an aspect, in response toacceptance or rejection of the invitation by the recipient user ofclient device 110, a privacy component 602 included in the clientapplication can provide the user with a request/prompt to implement aprivacy setting that restricts a context regarding provision, by thecontent/server provider 102, of future invitations to the user of clientdevice 110 via the client application. For example, the user of clientdevice 110 can choose not to receive other messages from user's whoselected the user of client device from an instance of his profile at aparticular network location. Selected privacy settings can be associatedwith the client application to block incoming messages that do notconform with his privacy settings and/or to prevent sending of messages,from content/service provider 102, to the client application that do notconform.

In view of the example systems and/or devices described herein, examplemethods that can be implemented in accordance with the disclosed subjectmatter can be further appreciated with reference to flowcharts in FIGS.8-9. For purposes of simplicity of explanation, example methodsdisclosed herein are presented and described as a series of acts;however, it is to be understood and appreciated that the disclosedsubject matter is not limited by the order of acts, as some acts mayoccur in different orders and/or concurrently with other acts from thatshown and described herein. For example, a method disclosed herein couldalternatively be represented as a series of interrelated states orevents, such as in a state diagram. Moreover, interaction diagram(s) mayrepresent methods in accordance with the disclosed subject matter whendisparate entities enact disparate portions of the methods. Furthermore,not all illustrated acts may be required to implement a method inaccordance with the subject specification. It should be furtherappreciated that the methods disclosed throughout the subjectspecification are capable of being stored on an article of manufactureto facilitate transporting and transferring such methods to computersfor execution by a processor or for storage in a memory.

FIG. 8 illustrates a flow chart of an example method for includinginformation in an invitation from a first to connect with a second userthat identifies a context regarding how the first user found the seconduser in accordance with aspects described herein. At 802, information isreceived, at a first network source, identifying a second user that afirst user has selected to send an invitation to connect with at thefirst network source (e.g., via invitation request component 402). At804, a context regarding selection of the second user by the first useris determined (e.g., via context component 122). For example, thiscontext can include where the first user found the informationidentifying the second user. At 806, an invitation that invites thesecond user to connect with the first user at the first network sourceis generated (e.g., via invitation generation component 404). Theinvitation includes first user identification information and contextinformation identifying the context regarding the selection of thesecond user by the first user. At 808, contact information for thesecond user is determined based on the information identifying thesecond user (e.g., via context component 122 and/or in deliverycomponent 406). At 810, the invitation is then sent from the firstnetwork source to the second user using the second user contactinformation (e.g., via delivery component 406).

FIG. 9 illustrates a flow chart of an example method for includinginformation in an invitation from a first to connect with a second userthat identifies a context regarding how the first user found the seconduser in accordance with aspects described herein. At 902, an invitationis received, from a server employed by a service provider, that invitesa second user to connect with a first user via an application of theservice provider (e.g., via invitation component 702). The invitationincludes first user identification information and context informationidentifying a context regarding the selection of the second user by thefirst user, including where the first user found information identifyingthe second user. At 904, a graphical user interface is generated havingthe invitation for display to the second user (e.g., via presentationcomponent 704). At 906, in response to acceptance or rejection of theinvitation by the second user, a request is received and presented tothe second user to implement a privacy setting that restricts a contextregarding provision, by the server, of future invitations to the seconduser to connect with the first user or another user via the application(e.g., via privacy component 602).

Example Operating Environments

The systems and processes described below can be embodied withinhardware, such as a single integrated circuit (IC) chip, multiple ICs,an application specific integrated circuit (ASIC), or the like. Further,the order in which some or all of the process blocks appear in eachprocess should not be deemed limiting. Rather, it should be understoodthat some of the process blocks can be executed in a variety of orders,not all of which may be explicitly illustrated in this disclosure.

With reference to FIG. 10, a suitable environment 1000 for implementingvarious aspects of the claimed subject matter includes a computer 1002.The computer 1002 includes a processing unit 1004, a system memory 1006,a codec 1005, and a system bus 1008. The system bus 1008 couples systemcomponents including, but not limited to, the system memory 1006 to theprocessing unit 1004. The processing unit 1004 can be any of variousavailable suitable processors. Dual microprocessors and othermultiprocessor architectures also can be employed as the processing unit1004.

The system bus 1008 can be any of several types of suitable busstructure(s) including the memory bus or memory controller, a peripheralbus or external bus, and/or a local bus using any variety of availablebus architectures including, but not limited to, Industrial StandardArchitecture (ISA), Micro-Channel Architecture (MSA), Extended ISA(EISA), Intelligent Drive Electronics (IDE), VESA Local Bus (VLB),Peripheral Component Interconnect (PCI), Card Bus, Universal Serial Bus(USB), Advanced Graphics Port (AGP), Personal Computer Memory CardInternational Association bus (PCMCIA), Firewire (IEEE 10104), and SmallComputer Systems Interface (SCSI).

The system memory 1006 includes volatile memory 1010 and non-volatilememory 1012. The basic input/output system (BIOS), containing the basicroutines to transfer information between elements within the computer1002, such as during start-up, is stored in non-volatile memory 1012. Inaddition, according to present innovations, codec 1005 may include atleast one of an encoder or decoder, wherein the at least one of anencoder or decoder may consist of hardware, a combination of hardwareand software, or software. Although, codec 1005 is depicted as aseparate component, codec 1005 may be contained within non-volatilememory 1012. By way of illustration, and not limitation, non-volatilememory 1012 can include read only memory (ROM), programmable ROM (PROM),electrically programmable ROM (EPROM), electrically erasableprogrammable ROM (EEPROM), or flash memory. Volatile memory 1010includes random access memory (RAM), which acts as external cachememory. According to present aspects, the volatile memory may store thewrite operation retry logic (not shown in FIG. 10) and the like. By wayof illustration and not limitation, RAM is available in many forms suchas static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM),double data rate SDRAM (DDR SDRAM), and enhanced SDRAM (ESDRAM.

Computer 1002 may also include removable/non-removable,volatile/non-volatile computer storage medium. FIG. 10 illustrates, forexample, disk storage 1014. Disk storage 1014 includes, but is notlimited to, devices like a magnetic disk drive, solid state disk (SSD)floppy disk drive, tape drive, Jaz drive, Zip drive, LS-70 drive, flashmemory card, or memory stick. In addition, disk storage 1014 can includestorage medium separately or in combination with other storage mediumincluding, but not limited to, an optical disk drive such as a compactdisk ROM device (CD-ROM), CD recordable drive (CD-R Drive), CDrewritable drive (CD-RW Drive) or a digital versatile disk ROM drive(DVD-ROM). To facilitate connection of the disk storage devices 1014 tothe system bus 1008, a removable or non-removable interface is typicallyused, such as interface 1016.

It is to be appreciated that FIG. 10 describes software that acts as anintermediary between users and the basic computer resources described inthe suitable operating environment 1000. Such software includes anoperating system 1018. Operating system 1018, which can be stored ondisk storage 1014, acts to control and allocate resources of thecomputer system 1002. Applications 1020 take advantage of the managementof resources by operating system 1018 through program modules 1024, andprogram data 1026, such as the boot/shutdown transaction table and thelike, stored either in system memory 1006 or on disk storage 1014. It isto be appreciated that the claimed subject matter can be implementedwith various operating systems or combinations of operating systems.

A user enters commands or information into the computer 1002 throughinput device(s) 1028. Input devices 1028 include, but are not limitedto, a pointing device such as a mouse, trackball, stylus, touch pad,keyboard, microphone, joystick, game pad, satellite dish, scanner, TVtuner card, digital camera, digital video camera, web camera, and thelike. These and other input devices connect to the processing unit 1004through the system bus 1008 via interface port(s) 1030. Interfaceport(s) 1030 include, for example, a serial port, a parallel port, agame port, and a universal serial bus (USB). Output device(s) 1036 usesome of the same type of ports as input device(s). Thus, for example, aUSB port may be used to provide input to computer 1002, and to outputinformation from computer 1002 to an output device 1036. Output adapter1034 is provided to illustrate that there are some output devices 1036like monitors, speakers, and printers, among other output devices 1036,which require special adapters. The output adapters 1034 include, by wayof illustration and not limitation, video and sound cards that provide ameans of connection between the output device 1036 and the system bus1008. It should be noted that other devices and/or systems of devicesprovide both input and output capabilities such as remote computer(s)1038.

Computer 1002 can operate in a networked environment using logicalconnections to one or more remote computers, such as remote computer(s)1038. The remote computer(s) 1038 can be a personal computer, a server,a router, a network PC, a workstation, a microprocessor based appliance,a peer device, a smart phone, a tablet, or other network node, andtypically includes many of the elements described relative to computer1002. For purposes of brevity, only a memory storage device 1040 isillustrated with remote computer(s) 1038. Remote computer(s) 1038 islogically connected to computer 1002 through a network interface 1042and then connected via communication connection(s) 1044. Networkinterface 1042 encompasses wire and/or wireless communication networkssuch as local-area networks (LAN) and wide-area networks (WAN) andcellular networks. LAN technologies include Fiber Distributed DataInterface (FDDI), Copper Distributed Data Interface (CDDI), Ethernet,Token Ring and the like. WAN technologies include, but are not limitedto, point-to-point links, circuit switching networks like IntegratedServices Digital Networks (ISDN) and variations thereon, packetswitching networks, and Digital Subscriber Lines (DSL).

Communication connection(s) 1044 refers to the hardware/softwareemployed to connect the network interface 1042 to the bus 1008. Whilecommunication connection 1044 is shown for illustrative clarity insidecomputer 1002, it can also be external to computer 1002. Thehardware/software necessary for connection to the network interface 1042includes, for exemplary purposes only, internal and externaltechnologies such as, modems including regular telephone grade modems,cable modems and DSL modems, ISDN adapters, and wired and wirelessEthernet cards, hubs, and routers.

Referring now to FIG. 11, there is illustrated a schematic block diagramof a computing environment 1100 in accordance with this disclosure. Thesystem 1100 includes one or more client(s) 1102 (e.g., laptops, smartphones, PDAs, media players, computers, portable electronic devices,tablets, and the like). The client(s) 1102 can be hardware and/orsoftware (e.g., threads, processes, computing devices). The system 1100also includes one or more server(s) 1104. The server(s) 1104 can also behardware or hardware in combination with software (e.g., threads,processes, computing devices). The servers 1104 can house threads toperform transformations by employing aspects of this disclosure, forexample. One possible communication between a client 1102 and a server1104 can be in the form of a data packet transmitted between two or morecomputer processes wherein the data packet may include video data. Thedata packet can include a metadata, e.g., associated contextualinformation, for example. The system 1100 includes a communicationframework 1106 (e.g., a global communication network such as theInternet, or mobile network(s)) that can be employed to facilitatecommunications between the client(s) 1102 and the server(s) 1104.

Communications can be facilitated via a wired (including optical fiber)and/or wireless technology. The client(s) 1102 include or areoperatively connected to one or more client data store(s) 1108 that canbe employed to store information local to the client(s) 1102 (e.g.,associated contextual information). Similarly, the server(s) 1104 areoperatively include or are operatively connected to one or more serverdata store(s) 1110 that can be employed to store information local tothe servers 1104.

In one embodiment, a client 1102 can transfer an encoded file, inaccordance with the disclosed subject matter, to server 1104. Server1104 can store the file, decode the file, or transmit the file toanother client 1102. It is to be appreciated, that a client 1102 canalso transfer uncompressed file to a server 1104 and server 1104 cancompress the file in accordance with the disclosed subject matter.Likewise, server 1104 can encode video information and transmit theinformation via communication framework 1106 to one or more clients1102.

The illustrated aspects of the disclosure may also be practiced indistributed computing environments where certain tasks are performed byremote processing devices that are linked through a communicationsnetwork. In a distributed computing environment, program modules can belocated in both local and remote memory storage devices.

Moreover, it is to be appreciated that various components described inthis description can include electrical circuit(s) that can includecomponents and circuitry elements of suitable value in order toimplement the embodiments of the subject innovation(s). Furthermore, itcan be appreciated that many of the various components can beimplemented on one or more integrated circuit (IC) chips. For example,in one embodiment, a set of components can be implemented in a single ICchip. In other embodiments, one or more of respective components arefabricated or implemented on separate IC chips.

What has been described above includes examples of the embodiments ofthe present invention. It is, of course, not possible to describe everyconceivable combination of components or methodologies for purposes ofdescribing the claimed subject matter, but it is to be appreciated thatmany further combinations and permutations of the subject innovation arepossible. Accordingly, the claimed subject matter is intended to embraceall such alterations, modifications, and variations that fall within thespirit and scope of the appended claims. Moreover, the above descriptionof illustrated embodiments of the subject disclosure, including what isdescribed in the Abstract, is not intended to be exhaustive or to limitthe disclosed embodiments to the precise forms disclosed. While specificembodiments and examples are described in this disclosure forillustrative purposes, various modifications are possible that areconsidered within the scope of such embodiments and examples, as thoseskilled in the relevant art can recognize.

In particular and in regard to the various functions performed by theabove described components, devices, circuits, systems and the like, theterms used to describe such components are intended to correspond,unless otherwise indicated, to any component which performs thespecified function of the described component (e.g., a functionalequivalent), even though not structurally equivalent to the disclosedstructure, which performs the function in the disclosure illustratedexemplary aspects of the claimed subject matter. In this regard, it willalso be recognized that the innovation includes a system as well as acomputer-readable storage medium having computer-executable instructionsfor performing the acts and/or events of the various methods of theclaimed subject matter.

The aforementioned systems/circuits/modules have been described withrespect to interaction between several components/blocks. It can beappreciated that such systems/circuits and components/blocks can includethose components or specified sub-components, some of the specifiedcomponents or sub-components, and/or additional components, andaccording to various permutations and combinations of the foregoing.Sub-components can also be implemented as components communicativelycoupled to other components rather than included within parentcomponents (hierarchical). Additionally, it should be noted that one ormore components may be combined into a single component providingaggregate functionality or divided into several separate sub-components,and any one or more middle layers, such as a management layer, may beprovided to communicatively couple to such sub-components in order toprovide integrated functionality. Any components described in thisdisclosure may also interact with one or more other components notspecifically described in this disclosure but known by those of skill inthe art.

In addition, while a particular feature of the subject innovation mayhave been disclosed with respect to only one of several implementations,such feature may be combined with one or more other features of theother implementations as may be desired and advantageous for any givenor particular application. Furthermore, to the extent that the terms“includes,” “including,” “has,” “contains,” variants thereof, and othersimilar words are used in either the detailed description or the claims,these terms are intended to be inclusive in a manner similar to the term“comprising” as an open transition word without precluding anyadditional or other elements.

As used in this application, the terms “component,” “module,” “system,”or the like are generally intended to refer to a computer-relatedentity, either hardware (e.g., a circuit), a combination of hardware andsoftware, software, or an entity related to an operational machine withone or more specific functionalities. For example, a component may be,but is not limited to being, a process running on a processor (e.g.,digital signal processor), a processor, an object, an executable, athread of execution, a program, and/or a computer. By way ofillustration, both an application running on a controller and thecontroller can be a component. One or more components may reside withina process and/or thread of execution and a component may be localized onone computer and/or distributed between two or more computers. Further,a “device” can come in the form of specially designed hardware;generalized hardware made specialized by the execution of softwarethereon that enables the hardware to perform specific function; softwarestored on a computer readable storage medium; software transmitted on acomputer readable transmission medium; or a combination thereof.

Moreover, the words “example” or “exemplary” are used in this disclosureto mean serving as an example, instance, or illustration. Any aspect ordesign described in this disclosure as “exemplary” is not necessarily tobe construed as preferred or advantageous over other aspects or designs.Rather, use of the words “example” or “exemplary” is intended to presentconcepts in a concrete fashion. As used in this application, the term“or” is intended to mean an inclusive “or” rather than an exclusive“or”. That is, unless specified otherwise, or clear from context, “Xemploys A or B” is intended to mean any of the natural inclusivepermutations. That is, if X employs A; X employs B; or X employs both Aand B, then “X employs A or B” is satisfied under any of the foregoinginstances. In addition, the articles “a” and “an” as used in thisapplication and the appended claims should generally be construed tomean “one or more” unless specified otherwise or clear from context tobe directed to a singular form.

Computing devices typically include a variety of media, which caninclude computer-readable storage media and/or communications media, inwhich these two terms are used in this description differently from oneanother as follows. Computer-readable storage media can be any availablestorage media that can be accessed by the computer, is typically of anon-transitory nature, and can include both volatile and nonvolatilemedia, removable and non-removable media. By way of example, and notlimitation, computer-readable storage media can be implemented inconnection with any method or technology for storage of information suchas computer-readable instructions, program modules, structured data, orunstructured data. Computer-readable storage media can include, but arenot limited to, RAM, ROM, EEPROM, flash memory or other memorytechnology, CD-ROM, digital versatile disk (DVD) or other optical diskstorage, magnetic cassettes, magnetic tape, magnetic disk storage orother magnetic storage devices, or other tangible and/or non-transitorymedia which can be used to store desired information. Computer-readablestorage media can be accessed by one or more local or remote computingdevices, e.g., via access requests, queries or other data retrievalprotocols, for a variety of operations with respect to the informationstored by the medium.

On the other hand, communications media typically embodycomputer-readable instructions, data structures, program modules orother structured or unstructured data in a data signal that can betransitory such as a modulated data signal, e.g., a carrier wave orother transport mechanism, and includes any information delivery ortransport media. The term “modulated data signal” or signals refers to asignal that has one or more of its characteristics set or changed insuch a manner as to encode information in one or more signals. By way ofexample, and not limitation, communication media include wired media,such as a wired network or direct-wired connection, and wireless mediasuch as acoustic, RF, infrared and other wireless media.

In view of the exemplary systems described above, methodologies that maybe implemented in accordance with the described subject matter will bebetter appreciated with reference to the flowcharts of the variousfigures. For simplicity of explanation, the methodologies are depictedand described as a series of acts. However, acts in accordance with thisdisclosure can occur in various orders and/or concurrently, and withother acts not presented and described in this disclosure. Furthermore,not all illustrated acts may be required to implement the methodologiesin accordance with certain aspects of this disclosure. In addition,those skilled in the art will understand and appreciate that themethodologies could alternatively be represented as a series ofinterrelated states via a state diagram or events. Additionally, itshould be appreciated that the methodologies disclosed in thisdisclosure are capable of being stored on an article of manufacture tofacilitate transporting and transferring such methodologies to computingdevices. The term article of manufacture, as used in this disclosure, isintended to encompass a computer program accessible from acomputer-readable device or storage media.

What is claimed is:
 1. A method, comprising: receiving, from a firstuser associated with a first user account, a request to transmit aconnection invitation to a second user associated with a second useraccount; determining contextual information relating to the selection ofthe second user account by the first user associated with the first useraccount, wherein the contextual information includes informationindicating a portion of a user profile of the second user that wasselected by the first user; generating a modified connection invitationbased on the contextual information, wherein the modified connectioninvitation includes an indication of the portion of the user profile ofthe second user that was selected by the first user; and transmittingthe modified connection invitation to the second user account.
 2. Themethod of claim 1, wherein the contextual information includesinformation indicating that the first user and the second user belong tothe same group within a social networking service.
 3. The method ofclaim 1, wherein the request to transmit the connection invitation isreceived based on a selection of the second user from a list ofsuggested users presented to the first user.
 4. The method of claim 3,wherein the list of suggested users is identified based on usersassociated with a group of a social networking service.
 5. The method ofclaim 1, wherein the portion of the user profile selected by the firstuser is an image included in the user profile by the second user.
 6. Themethod of claim 1, wherein transmitting the modified connectioninvitation comprises transmitting a message to the second user accountvia a messaging application, and wherein the message is transmitted inconnection with the portion of the user profile that was selected.
 7. Asystem comprising a hardware processor that is configured to: receive,from a first user associated with a first user account, a request totransmit a connection invitation to a second user associated with asecond user account; determine contextual information relating to theselection of the second user account by the first user associated withthe first user account, wherein the contextual information includesinformation indicating a portion of a user profile of the second userthat was selected by the first user; generate a modified connectioninvitation based on the contextual information, wherein the modifiedconnection invitation includes an indication of the portion of the userprofile of the second user that was selected by the first user; andtransmit the modified connection invitation to the second user account.8. The system of claim 7, wherein the contextual information includesinformation indicating that the first user and the second user belong tothe same group within a social networking service.
 9. The system ofclaim 7, wherein the request to transmit the connection invitation isreceived based on a selection of the second user from a list ofsuggested users presented to the first user.
 10. The system of claim 9,wherein the list of suggested users is identified based on usersassociated with a group of a social networking service.
 11. The systemof claim 7, wherein the portion of the user profile selected by thefirst user is an image included in the user profile by the second user.12. The system of claim 7, wherein transmitting the modified connectioninvitation comprises transmitting a message to the second user accountvia a messaging application, and wherein the message is transmitted inconnection with the portion of the user profile that was selected.
 13. Anon-transitory computer-readable medium containing computer executableinstructions that, when executed by a processor, cause the processor toperform a method, the method comprising: receiving, from a first userassociated with a first user account, a request to transmit a connectioninvitation to a second user associated with a second user account;determining contextual information relating to the selection of thesecond user account by the first user associated with the first useraccount, wherein the contextual information includes informationindicating a portion of a user profile of the second user that wasselected by the first user; generating a modified connection invitationbased on the contextual information, wherein the modified connectioninvitation includes an indication of the portion of the user profile ofthe second user that was selected by the first user; and transmittingthe modified connection invitation to the second user account.
 14. Thenon-transitory computer-readable medium of claim 13, wherein thecontextual information includes information indicating that the firstuser and the second user belong to the same group within a socialnetworking service.
 15. The non-transitory computer-readable medium ofclaim 13, wherein the request to transmit the connection invitation isreceived based on a selection of the second user from a list ofsuggested users presented to the first user.
 16. The non-transitorycomputer-readable medium of claim 15, wherein the list of suggestedusers is identified based on users associated with a group of a socialnetworking service.
 17. The non-transitory computer-readable medium ofclaim 13, wherein the portion of the user profile selected by the firstuser is an image included in the user profile by the second user. 18.The non-transitory computer-readable medium of claim 13, whereintransmitting the modified connection invitation comprises transmitting amessage to the second user account via a messaging application, andwherein the message is transmitted in connection with the portion of theuser profile that was selected.